home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 124 / cd-rom 124.iso / edu / tuxmath / tuxmathscrabble / asymptopia / CuckooManeuvers.py < prev    next >
Encoding:
Python Source  |  2003-07-26  |  10.6 KB  |  214 lines

  1. """
  2. /***************************************************************************
  3.  
  4.     Author             :Charles B. Cosse 
  5.     
  6.     Email            :ccosse@asymptopia.com
  7.                     
  8.     Copyright        :(C) 2002,2003 Asymptopia Software.
  9.     
  10.  ***************************************************************************/
  11. /***************************************************************************
  12.                           CuckooManeuvers.py
  13.  
  14.  ***************************************************************************/
  15.  
  16. /***************************************************************************
  17.  *                                                                         *
  18.  *   This program is free software; you can redistribute it and/or modify  *
  19.  *   it under the terms of the GNU General Public License as published by  *
  20.  *   the Free Software Foundation; either version 2 of the License, or     *
  21.  *   (at your option) any later version. (Please note that if you use this *
  22.  *   code you must give credit by including the Author and Copyright       *
  23.  *   info at the top of this file).                                        *
  24.  ***************************************************************************/
  25.  
  26. """
  27.  
  28. import os, pygame,sys
  29. from pygame.locals import *
  30. from random import random
  31.  
  32. from Maneuvers import Maneuvers
  33. from asymptopia.myutil import *
  34.  
  35. #get path to site-packages:
  36. try:
  37.     for sitepkgdir in sys.path:
  38.         if sitepkgdir[-13:]=='site-packages':break
  39. except:pass
  40.  
  41.  
  42. class CuckooManeuvers(Maneuvers):
  43.     def __init__(self):
  44.         self.maneuvers={}
  45.         
  46.         img_cuckoo_flap_01=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_flap_01.gif'))
  47.         img_cuckoo_flap_02=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_flap_02.gif'))
  48.         cuckoo_flap=[
  49.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  50.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy':-3,'timeout':0},
  51.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  52.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  53.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  54.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy':+3,'timeout':0},
  55.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  56.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  57.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  58.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy':-3,'timeout':0},
  59.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  60.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  61.             {'img':img_cuckoo_flap_01,'snd':None,'dx':0,'dy': 0,'timeout':0},
  62.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy':+3,'timeout':0},
  63.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  64.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  65.             {'img':img_cuckoo_flap_02,'snd':None,'dx':0,'dy': 0,'timeout':0},
  66.         ]
  67.         
  68.         img_cuckoo_skate_left=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_skate_left.gif'))
  69.         img_cuckoo_stand=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_stand.gif'))
  70.         img_cuckoo_skate_right=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_skate_right.gif'))
  71.         img_cuckoo_stand_back=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_stand_back.gif'))
  72.         cuckoo_spin_left=[
  73.             {'img':img_cuckoo_skate_left,'snd':None,'dx':0,'dy':0,'timeout':0},
  74.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  75.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  76.             {'img':img_cuckoo_skate_right,'snd':None,'dx':0,'dy':0,'timeout':0},
  77.             {'img':img_cuckoo_skate_right,'snd':None,'dx':0,'dy':0,'timeout':0},
  78.             {'img':img_cuckoo_stand_back,'snd':None,'dx':0,'dy':0,'timeout':0},
  79.             {'img':img_cuckoo_stand_back,'snd':None,'dx':0,'dy':0,'timeout':0},
  80.             {'img':img_cuckoo_skate_left,'snd':None,'dx':0,'dy':0,'timeout':0},
  81.             
  82.         ]
  83.         cuckoo_spin_right=[
  84.             {'img':img_cuckoo_skate_left,'snd':None,'dx':0,'dy':0,'timeout':0},
  85.             {'img':img_cuckoo_stand_back,'snd':None,'dx':0,'dy':0,'timeout':0},
  86.             {'img':img_cuckoo_stand_back,'snd':None,'dx':0,'dy':0,'timeout':0},
  87.             {'img':img_cuckoo_skate_right,'snd':None,'dx':0,'dy':0,'timeout':0},
  88.             {'img':img_cuckoo_skate_right,'snd':None,'dx':0,'dy':0,'timeout':0},
  89.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  90.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  91.             {'img':img_cuckoo_skate_left,'snd':None,'dx':0,'dy':0,'timeout':0},
  92.             
  93.         ]
  94.         
  95.         img_cuckoo_bow=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_bow_02.gif'))
  96.         cuckoo_bow=[
  97.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  98.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  99.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  100.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  101.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  102.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  103.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  104.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  105.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  106.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  107.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  108.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  109.             {'img':img_cuckoo_bow,'snd':None,'dx':0,'dy':0,'timeout':0},
  110.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  111.             {'img':img_cuckoo_stand,'snd':None,'dx':0,'dy':0,'timeout':0},
  112.         
  113.         ]
  114.         
  115.         img_cuckoo_hula_00=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_hula_00.gif'))
  116.         img_cuckoo_hula_01=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_hula_01.gif'))
  117.         img_cuckoo_hula_02=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_hula_02.gif'))
  118.         cuckoo_hula_01=[
  119.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  120.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  121.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  122.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  123.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  124.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  125.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  126.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  127.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  128.             {'img':img_cuckoo_hula_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  129.             {'img':img_cuckoo_hula_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  130.             {'img':img_cuckoo_hula_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  131.         ]    
  132.         cuckoo_hula_02=[
  133.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  134.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  135.             {'img':img_cuckoo_hula_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  136.             {'img':img_cuckoo_hula_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  137.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  138.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  139.             {'img':img_cuckoo_hula_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  140.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  141.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  142.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  143.             {'img':img_cuckoo_hula_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  144.         ]    
  145.         
  146.         img_cuckoo_bend_00=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_bend_00.gif'))
  147.         img_cuckoo_bend_01=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_bend_01.gif'))
  148.         img_cuckoo_bend_02=pygame.image.load(os.path.join(sitepkgdir,'./asymptopia/anim_images/cuckoo_bend_02.gif'))
  149.         cuckoo_bend_01=[
  150.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  151.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  152.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  153.             {'img':img_cuckoo_bend_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  154.             {'img':img_cuckoo_bend_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  155.             {'img':img_cuckoo_bend_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  156.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  157.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  158.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  159.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  160.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  161.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  162.         ]    
  163.         cuckoo_bend_02=[
  164.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  165.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  166.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  167.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  168.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  169.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  170.             {'img':img_cuckoo_bend_01,'snd':None,'dx':0,'dy':0,'timeout':0},
  171.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  172.             {'img':img_cuckoo_bend_00,'snd':None,'dx':0,'dy':0,'timeout':0},
  173.             {'img':img_cuckoo_bend_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  174.             {'img':img_cuckoo_bend_02,'snd':None,'dx':0,'dy':0,'timeout':0},
  175.         ]    
  176.         
  177.         self.sequences={
  178.             'cuckoo_flap':cuckoo_flap,
  179.             'cuckoo_spin_left':cuckoo_spin_left,
  180.             'cuckoo_spin_right':cuckoo_spin_right,
  181.             'cuckoo_bow':cuckoo_bow,
  182.             'cuckoo_hula_01':cuckoo_hula_01,
  183.             'cuckoo_hula_02':cuckoo_hula_02,
  184.             'cuckoo_bend_01':cuckoo_bend_01,
  185.             'cuckoo_bend_02':cuckoo_bend_02,
  186.         }
  187.         
  188.         self.defineManeuver('cuckoo_maneuver_00',[{'cuckoo_flap':(-999,10)},])
  189.         self.defineManeuver('cuckoo_maneuver_01',[{'cuckoo_spin_left':(-999,10)},])
  190.         self.defineManeuver('cuckoo_maneuver_01',[{'cuckoo_spin_right':(-999,10)},])
  191.         self.defineManeuver('cuckoo_maneuver_02',[{'cuckoo_bow':(-999,10)},])
  192.         self.defineManeuver('cuckoo_maneuver_04',[{'cuckoo_hula_01':(-999,10)},])
  193.         self.defineManeuver('cuckoo_maneuver_05',[{'cuckoo_hula_02':(-999,10)},])
  194.         self.defineManeuver('cuckoo_maneuver_06',[{'cuckoo_bend_01':(-999,10)},])
  195.         self.defineManeuver('cuckoo_maneuver_07',[{'cuckoo_bend_02':(-999,10)},])
  196.         
  197.         
  198.  
  199.     def defineManeuver(self,maneuver_name,seqlist):
  200.         self.maneuvers[maneuver_name]=seqlist
  201.             
  202.     def getSequencesPyld(self):
  203.         return(self.sequences)    
  204.  
  205.     def getManeuversPyld(self):
  206.         return(self.maneuvers)
  207.     
  208.     def getManeuverNames(self):
  209.         maneuver_names=[]
  210.         for key in self.maneuvers.keys():
  211.             maneuver_names.append(key)
  212.         return(maneuver_names)
  213.     
  214.